package com.zfzs.post.modules.agent.service.mapper.mybatis;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.zfzs.post.model.dto.QueryAgentPageListDTO;
import com.zfzs.post.model.dto.QueryFindAgentInfoPageDTO;
import com.zfzs.post.model.dto.QueryTeamRankPageDTO;
import com.zfzs.post.modules.agent.domain.Agent;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * 用户角色
 */
public interface IAgentMapper extends BaseMapper<Agent> {

    /**
     * 代理商分页列表
     */
    List<Map<String,Object>> findAgentPageList(@Param("ex") QueryAgentPageListDTO dto,@Param("pageNum") long pageNum, @Param("pageSize")int pageSize);

    /**
     * 代理商分页列表 总条数
     * @return
     */
    int findAgentPageCount(@Param("ex") QueryAgentPageListDTO dto);

    /**
     * 代理商分页列表
     */
    List<Map<String,Object>> findAgentInfoPageList(@Param("ex") QueryFindAgentInfoPageDTO dto,@Param("pageNum") long pageNum, @Param("pageSize")int pageSize);

    /**
     * 代理商分页列表 总条数
     * @return
     */
    int findAgentInfoPageCount(@Param("ex") QueryFindAgentInfoPageDTO dto);

    int findByPhoneAndChannel(@Param("phone")String phone,@Param("channelId") Long channelId);

    /**
     * 团队排名
     * @param dto
     * @param pageNum
     * @param pageSize
     * @return
     */
    List<Map<String,Object>> getTeamRankPage(@Param("query") QueryTeamRankPageDTO dto, @Param("pageNum") long pageNum, @Param("pageSize")int pageSize);

    int getTeamRankPageCount(@Param("query") QueryTeamRankPageDTO dto);

}
